using System;
using System.Collections.Generic;
using LinFu.IoC.Configuration;

namespace CoreEx.Samples.DomainModel.Implementation
{
	[Implements(typeof(IProduct))]
	[Serializable]
	public class Product : IProduct
	{

		#region Private Members

		private readonly IList<IOrderDetail> _orderDetails = new List<IOrderDetail>();

		#endregion

		public int ProductID { get; set; }
		public string ProductName { get; set; }
		public string QuantityPerUnit { get; set; }
		public decimal? UnitPrice { get; set; }
		public short? UnitsInStock { get; set; }
		public short? UnitsOnOrder { get; set; }
		public short? ReorderLevel { get; set; }
		public bool Discontinued { get; set; }
		public IList<IOrderDetail> OrderDetails 
		{
			get { return _orderDetails; }
		}
		public ICategory Category { get; set;}
		public ISupplier Supplier { get; set;}
	}
}
